Queuing and scheduling are functions that are critical to the operation of high speed switching and routings of data packets in switches and routers. Strict priority queueing and weighted round robin WRR are two common scheduling schemes for data switching networks. Generally, in a data switching networking, multiple resources can communicate with a destination address simultaneously. In such cases, during a simultaneous communication, each of the resources is competing with other resources for an available destination at a particular time. There is a variety of scheduling schemes or methodology that can be used in such instances depending on the type of application being used. One such common data packet scheduling resource is strict priority scheduling; this is used in what's commonly known as “a double play” or “triple play environment”, that is when there are two or three resources competing resources competing for an available destination. When using a strict priority scheduling scheme, all the incoming data packet requests are classified on a different priority. When a network congestion occurs that is when a link or node is carrying so much data that its quality of service Qos deteriorates causing queuing delay, packet loss or the blocking of new connections. To maintain Qos, the data traffic or data packet requests given the highest priority are transmitted first until the queue of these highest priority data packets is emptied. Next, the data traffic given the next highest priority is selected and so forth.
While such high priority scheduling scheme proves effective in most in many instances, when there are more than one data packet request classified with the same level of high priority, the strict priority scheduling scheme may cause a bias on the scheduling of the selecting of the data packet queues. That is, scheduling when there is multiple equal levels of classifications of priority of these data packet requests, results in a bias of consecutive ordering of the requests received. Hence, equal data packet requests as a result of this bias have the same scheduling as additional factors are not considered other than the classification levels of the data packets in the strict priority scheme.
There is a need for preventing this bias which results from consecutive ordering of requests when multiple requests are given the same priority so that in a weighted strict priority round robin scheme, the same request due to its ordering is in each round of the round robin check selected and not until the initial request has been completed is the next request selected or prioritized.